#Computer Concepts & Programming in C
Explore tagged Tumblr posts
clementine-kesh · 21 days ago
Note
saw a post of yours from a few years ago about how there is never going to be a star trek show that critiques the federation. and i agree, i think the thought processes of the people who continue to expand on star trek will never be anything more radical than their current liberal state. i also can never remove that thought from my mind of what that would look like. what i see, in a non-existent world, is star trek ending off the films and television series with a pre-planned seven season long series that ends in the dismantling and abolition of the federation, with the first season/s being usual space exploration plots and as the show goes on the more the crew (of a starship) realizes what they're contributing to. this could set up really good holosuite episodes. when rewatching ds9, it was unavoidable to me that the holosuite episodes allow for the writers to romanticize the 1960's and to propagate their idea of english masculinity. a plot i derived from its only a paper moon, far beyond the stars, and our man bashir is a distressed black federation officer resorting to 50's holosuite programs, and all the programs are whitewashed and safe and thus construct the 50s as safe. the character stays in the holosuite and due to overusage, the computers begin to malfunction leading to a more realistic 50's slowly being presented. by the time the character deattaches themself from the program, they begin to see similarities between what they saw in the program and how the federation treats itself as superior to other races; it could end with this character witnessing another interaction between the federation and the ligonians (TNG episode: code of honor), with the narrative acknowledgement of how colonial the federation is and how they deliberately misconstrue the ligonians as under-developed and savage. the plot commenting on how people say shit like i want to live in the 1950s and are so priviliaged that they cant understand that not only were people trying to gain their rights in that era but because of the perpetual lack of doing shit and because of those reactionary sentiments we still havent gotten those rights. &c &c &c &c but we could have everything if the writers weren't liberals
i just wanted to talk. this fandom is very isolating in how it talks about politics and seeing the responses from that post alleviated that for a while
yesss i love that concept. applying a decolonial lens to star trek (and sf/f more broadly) is something i spend a lot of time thinking about and i love imagining what stories in those settings could look like guided by that philosophy. for better or for worse star trek is always going to be a product of its time and circumstances but that also gives us as fans so many interesting jumping off points to talk about stuff like, say, the unintentional imperialism and colonialism written into the show. for example i like tng, don’t get me wrong, but the whole concept of “white frenchman shows up to a new place and solves all of their problems with the power of ethical thinking” is uhh, not an unproblematic one!
imo a federation decolonization arc would’ve worked really well in either voyager or ds9. voyager had a phenomenal setup for it, especially with chakotay right there, but on the other hand it’s not like they could’ve had much of an impact on the federation as a whole. if ds9 had more of a focus on the bajorans and the maquis as opposed to starfleet and really committed itself to deconstructing the whole frontier myth it could’ve worked great. in terms of possible future series i think the best case scenario is that we get something like star wars’ andor but for the maquis, but realistically even that will still probably treat the federation as the lesser of two evils
23 notes · View notes
savagegardensprogramming · 2 months ago
Text
youtube
Presumptions in Programming
This post reflects on what Dr. Kanojia said in his video about assumptions and communications. I am importing outside concepts into to computer science. As I understand it, efficient communication depends a lot on presumptions. When you communicate with someone you presume that person understands. The magic happens when those presumptions are valid.
Tumblr media
His model of communication looks like the figure [exhibit 1A]. You have the speaker on the left. The listener on the right. The blue lane represents the full information we want to convey. The green lane represents the actual information transmitted. The orange lane represents the information presumed.
I would say that efficient communication depends a lot on the green lines to be as small as possible. This means that the orange lines will be larger. What this translates to is that the listener needs to be highly educated or trained.
The figure [exhibit 1B]. On the left is the programmer. On the right is the assembler. Assembly language is a 1 to 1 correlation of instruction to code. Therefore I made the green line is solid. There are no presumptions we can rely on, hence there is no orange line. Speaker does all the work.
The figure [exhibit 1C]. On the right is the compiler of a higher level language. Languages like Pascal, C, BASIC, JAVA, etc. Less information is transmitted in the green lane. There are presumptions made hence the orange lane contains information. Compiler does some of the work.
The figure [exhibit 1D]. Its the ideal situation. One instruction means a whole lot of work gets done. Like when the emperor issued order 66. That was the end of the Jedi. In computer programming this happens in function calls. One API call means a whole lot of work gets done.
In conclusion the job of a language is to be able to convey as much information as possible with the least amount of effort. This is called the “code expression” capacity of a language. Some people use the term “compressibility” of information in a language. UncleBob explains code expression using the LISP language. LISP is mostly parenthesis and commas. And you can do a lot with just parenthesis and commas. Hence its said LISP has a high amount of code expression. It can be argued thou that LISP programs can become long and cryptic. UncleBob likes the least amount of syntax. But sometimes the more syntax a language has, the more “compressibility” of information its capable of.
19 notes · View notes
fandomfreakstudios · 1 year ago
Text
Caine is a human and I will die on this hill (theory)
due to popular demand (losing the poll) I wanna post my Caine theory in proper depth.
My theory is essentially the idea that Caine is not an AI but is in fact a human trapped in the digital circus just as much as all the other players.
Sounds ridiculous, right?
good.
Tumblr media
[LONG post incoming, be warned]
----------
To start, we need to understand the digital circus and its origins.
a place like the digital circus is very likely to be man-made as a place, a game, a computer program, whatever. This place did not appear out of nowhere. It is accessed through VR or some VR-esque technology, and takes on the appearance of a retro game (evidence given below)
Tumblr media Tumblr media
Now, video games (unfortunately) don’t just code themselves, there has to be at the very least one person creating this game. Fortunately enough, we can deduce the name of the company from what is given within the show.
It is very common knowledge at this point that digital circus takes place within a computer in some sort of office building (as is implied by the ending scene in episode 1)
Tumblr media Tumblr media
This computer is also seen at another point... namely when Pomni is running through the backrooms-like offices. She once again comes across this computer.
Tumblr media Tumblr media
Now this implies that this area is at least SOMEWHAT a reflection of the real world, so analyzing this location isn't inherently pointless. Now one other interesting part of this office area is the logo on the wall, which reads "C & A" which people have unanimously agreed to mean Caine and Abel
Tumblr media
The important thing about this is that Caine as a concept is somehow connected to the person who created this game, through the founder choosing to name Caine after the company, or vice versa. Now you could easily argue that the company was named after Caine, or Caine acts as a self insert for the creator, but I am here to argue that maybe Caine IS the creator.
More specifically, Caine is an original creator of the game (not necessarily the sole creator) aka the amazing digital circus, and in testing an incomplete game managed to get himself trapped, as does any other player who chooses to attempt to play.
----------
Looking back at episode 1 there is something interesting for us to think about. Caine attempting to create an exit door, but being unable to figure out what to put on the other side.
Now this could very easily be interpreted as Caine being unable, as an AI who's only knowledge is of what's within the game, to imagine anything outside of it, and therefore fumbling the task. This is a reasonable interpretation, this was MY first interpretation, and it honestly adds so much horror to the episode on a first watch through.
But in all honesty that still leaves a lot unexplained.
The question still remains why Caine, as a struggling AI, would choose to create something like what he did. From his perspective he has never seen anything as dreary as these office buildings, nor does this space make any semblance of sense as Caine's environments tend to do. It seems less like something a well-polished AI would create, and more like what a human would come up with when trying to create something from a distant memory.
That's something incredibly important to keep in mind going forward. If Caine is in fact human, he would have been trapped in the digital circus for a LONG time, with it becoming increasingly difficult to recall his human memories (something it is confirmed humans trapped in the circus can recall). at the very least, longer then Kinger, who is clearly very mentally effected by his time at the circus.
Tumblr media
Caine would likely also be showing some level of insanity or mental instability if he had been trapped with no escape for this long (and yes I do believe that he also cannot leave, and I have some evidence later down the line that will explain this perspective), and he hasn't been seen to do this at all, right? Well, I think he is, but it manifests a little differently then Kinger, or anyone else for that matter. Keep this in mind as we go forward.
----------
Caine's purpose within the circus is fairly straightforward. He is the ringmaster, he creates daily adventures akin to ttrpg oneshots, and he exists to essentially guide the player through this video game world.
Now in the event that Caine was a human who was pulled into the game, why would he need to fill this role? Even as a dev he should still be playtesting as, well, a player. I believe that at the time of the dev's entrapment, the ringmaster AI had not been programmed into the game.
Y'see the Caine we know is a MAJOR perfectionist. He neeeever likes anyone seeing his unfinished work, kinda odd for an AI within a game to be embarrassed about. Yeah, he's a generative AI that creates locations, but creating something in multiple steps is something an AI cannot do. Furthermore, an AI should not feel "embarrassed" about it's work, AI by virtue is always 100% convinced what it generates is perfect, or else it wouldn't have generated it like that.
Tumblr media Tumblr media
Also, if we're working under the assumption that the backrooms-esque offices were just an AI hallucination or bad generation, why would Caine KNOW it's not what his players are looking for? For a dev however, this makes sense.
Caine also has a lot of other actions that, as an AI require a bit if suspension of disbelief, but make tons more sense if he's actually a human, and furthermore a dev.
As mentioned, perfectionism, not wanting people to see incomplete or unpolished areas of the game
Realistic depictions of emotions (frustration, embarrassment, confusion)
Annoyance at Bubble for being a sucky AI (her swearing, interrupting him, inhuman and unrealistic speaking patterns and behaviors)
the need to "Reuse AI" which, if the characters are all AI created by other AI would be unnecessary because AI generating would take Caine no effort. Nor should a generative AI ever run out of ideas.
As mentioned, perfectionism, not wanting people to see incomplete or unpolished areas of the game
Realistic depictions of emotions (frustration, embarrassment, confusion)
Annoyance at Bubble for being a sucky AI (her swearing, interrupting him, inhuman and unrealistic speaking patterns and behaviors)
the need to "Reuse AI" which, if the characters are all AI created by other AI would be unnecessary because AI generating would take Caine no effort. Nor should a generative AI ever run out of ideas.
I wanna highlight that, while this is a joke post, I am enjoying the implication that Caine has a name (something only a human would have)
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
(top right is a particularly interesting example of him just acting super human and "dropping the act" so to speak. Getting distracted, stuttering, losing track of the conversation, all that. And bottom right is similar as he is nervously fidgeting).
Caine has all the fixings of a human dev, trapped in his now incomplete game. A game that had not had it's "ringmaster" character implemented at this point in development, likely with nothing more then some competed (albeit unpolished) locations for the game.
Tumblr media Tumblr media
The idea Caine is actually a dev as opposed to an AI is further supported by Caine's ability to create and alter things from within the game. Creating areas without human prompt, deleting characters, he seems to have a level of autonomy and intelligence that no AI should EVER have.
Tumblr media Tumblr media
----------
Furthermore, the man ACTS human, a weird ass human, but a human nonetheless. He's responsive, emotive, emotional, and he's not nearly as glitchy as the other AI. He never slips up and activates some sort of internal filter like bubble, or insists on weird mannerisms like the moon or the sun, he seems to just KNOW better somehow.
He acts like the more "immersive AI" from ep2 if anything, which he's clearly been around longer than. Someone needed to program that AI, and based on previous patterns is implied to be Caine. Once again, way out of his job description as another AI (plus how would this AI be MORE realistic if it was learning from another, older AI).
Not to mention the fact he's ALWAYS around somewhere, whether he's in his own realm he made, or just chilling around the circus (unlike bubble for example, who comes and goes at Caine's will).
It's clear he does this for his own comfort, but WHY would he be programmed to do that as opposed to only existing when necessary to prioritize memory or something.
Tumblr media Tumblr media Tumblr media
----------
But one would be right to say he's slightly... off. He is a strange one, if he was a human. He's erratic, unpredictable, and often manic at times. This goes back to the point I made with Kinger, where I claimed Caine should also be exhibiting signs of mental illness
Under the assumption that Caine, in the act of playtesting the game, got trapped, a handful of things would happen (the finer details are negotiable, this is just my knee-jerk reaction):
He'd realize what happened and that he can't get out
He likely felt as though he was in his own personal hell, as he was trapped in a scuffed, incomplete skeleton of his own passion project
He likely found some sort of way to alter stuff, a backdoor that only he as the creator knew about, or some sort of privilege in being the first to enter the realm
He got his first or first few players. This was probably alarming to him as there was no ringmaster, no worlds, nothing. All the AI he had created thus far had been poorly made and could not function which such a difficult task. But then he realized... HE could be the ringmaster
This is probably around the time as well that he realized he could not remember his own name. But he remembered what he wanted to call the ringmaster... Caine
He takes on the identity of Caine, acting as ringmaster, polishing the game behind the scenes, and creating daily activities on an "as needed" basis
----------
Now this is where it gets interesting. I believe, at this point, Caine has taken on the identity of this AI generated ringmaster for so long that he's beginning to lose himself. He's beginning to lose memories of his life, he's becoming more detached from the side of himself that ISN'T Caine, and he's starting to catch himself believing he IS Caine, he IS an AI.... and he's scared
He's completely lost the ability to create any meaningful connections with others, as he needs to keep up the illusion of being an AI. He's lost his humanity, become detached from the way other humans think and feel, and its starting to make him become more AI then human if anything.
Tumblr media Tumblr media Tumblr media
(left image does not crop nice, plz click to view the whole thing TvT)
He's probably seen at least a dozen people lose their mind in so many different ways. While he knows he's different then them, TECHNICALLY he's still a player, and can abstract all the same. This is why he seemed to freak the HELL out at the idea of an AI and a human getting mixed up.
Tumblr media Tumblr media
----------
One last bit, and it's a simple one I promise. Caine has been described as the main antagonist outside of the show. This is interesting as up until now Caine hasn't done anything actively malicious (aside from Gummigoo, but he seemed to have solid reasoning for that, just not anything he chose to share with the audience).
Tumblr media Tumblr media
[does ANYONE have the "weight of Caine's sins?" tumblr ask I am having no luck finding it again]
At this point, this would be shooting the messenger. He is simply a byproduct of the system that is keeping these folks trapped, right? Caine himself didn't put them there, he just takes care of them.
Unless... Caine was the one who made the AI. Then he would inarguably be the reason everyone else was trapped there. And goose is right, that wouldn't make him an AWFUL person either, but he does still have many sins weighing on his back, and many deaths on his hands. And there's nothing he can do about any of it, because he's just as helpless as they are.
----------
So yeah, TLDR: Caine was the creator of the circus. In attempting to playtest he got trapped in the game and eventually took the initiative to play the ringmaster within his own game, but he is slowly beginning to lose his mind, as happens to everyone.
Hope you all enjoyed the read! If anyone's still interested at this point I have a few more small bits of evidence (more from outside the show on Goose's socials and whatnot) which I could not fit in the bulk of the theory. I'll reblog with some extra bits so this post is still complete but I don't break the flow of my main ideas.
And if you get this far, thank you so much. I don't typically post long form theories like this but if this gets any sort of traction I definitely will begin too.
107 notes · View notes
solomons-poison · 2 months ago
Text
Ode to Hot Chocolate
Mozart x reader
Tumblr media Tumblr media
: ̗̀➛ A/N: A sweet little piece written as my secret Santa gift for @cowboy-rowlet back in December. Realized I never posted it here and I think it's been long enough. Since there was a whole mixup between hot cocoa and chocolate confections in Mozart's route, I thought it'd be fun to explore modern day hot chocolate with him, too 😊
: ̗̀➛ Warnings: GN reader. Sweet and fluffy, with a little bit of Mozart sass. Slight angst?? Mostly comfort
: ̗̀➛ Word count: 1566
Tumblr media
It had been a small handful of months since Mozart had come to the future (the present?) with you. It hadn't been a decision that came to either of you quickly, or lightly, but as Mozart's belief in his works grew and his dreams of building his music career again filled his mind, it was decided that this was for the best.
Things were rough in the beginning, getting him adjusted to the way people spoke, getting him used to being in modern vehicles, and not to mention figuring out how to give him a legal presence back home. Thankfully, he was a quick learner, and it wasn't long before he could handle a smartphone by himself, learned to use a computer, and (reluctantly) came to rely on public transport to teach at a local college's music program. You'd even introduced him to the keyboard; a wooden piano was too expensive to get just yet, so the electronic variety would have to do for now, and though it took getting used to, your lover was still appreciative of the things you did to make him happy and comfortable.
That was in the summer. Mozart had been blown away by the concept of central air conditioning to keep cool, more than a little thankful for modern technology. Now, however, winter had the landscape in its grasp, its chilly fingers creeping through every crevice in your house and leaving both you and Mozart with freezing hands more often than not, despite the hard work of your heating system. Mozart's displeasure with the weather was almost palpable, especially as it made it difficult to play the piano, fingers too frozen to be as nimble as he preferred. Part of you couldn't help but find his disgruntled look funny, but tried your best to keep quiet as you reassured him that it wasn't the end of the world, a brilliant idea coming to mind. To raise your lover's spirits, you dragged him into the kitchen, mindful of the suspicious pair of violet eyes watching you as he stood there, wrapped in his favorite blanket.
“I really would have preferred to stay in my seat, you know,” Mozart muttered, pulling the blanket tighter around himself. “Why did you drag me out here?”
“Because, it's more fun together,” you simply replied, getting two mugs out of a kitchen cabinet and setting a kettle full of water on the stove.
Mozart simply stared at you, grumpy confusion on his face. Okay, being cute wasn't working. As you turned the stove on to boil some water, you then reached into another cabinet and pulled out a ceramic jar shaped like an owl, holding it out for Mozart to inspect.
“Swiss Miss…?” he read off the tag, brows furrowing before he read the next words, a light of recognition finally appearing in his eyes. “Hot cocoa mix? Is this what I think it is…?”
You couldn't help but clap. “Yes! It's hot chocolate. I wanted to make it for you now that the weather is chilly,” you said, beaming at him. You didn't miss the way your lover's eyes sparkled for a moment, before he feigned continued displeasure.
“I see.” He put the jar down, but his eyes lingered on the ceramic owl. “Still, did that require my company? You were making such a fuss that I come along, I thought it'd be something more important.”
You ignored the barbed words, now prepping your ingredients, and Mozart watched with cautious curiosity as you set down a small container labeled “cinnamon”, a bag of puffy white things, and a metal can on the counter.
“You say that now, but you'll be thanking me soon,” you said. “Nothing is better on a cold winter day than a nice hot mug of hot chocolate. It'll warm your hands and your body right up, and I wanted to show you how we do hot chocolate in the modern age.” You glanced at the ceramic jar, memories of your early days in Comte's mansion slowly coming back to you, like a dream. “I remember, back in Comte's mansion, when I brought you those chocolates and you thought I meant the drink. And then we found out that the terminology had changed between your time and mine. …I just want to share some of my experiences with you, and maybe the time difference won't feel quite so large anymore.”
Mozart's eyes widened for a moment, before softening with recognition, and he finally gave you a small smile. He stepped closer to you and pressed a kiss to your forehead, his hand finding its way out of the blanket to seek yours. It was wonderful how such a simple gesture seemed to warm you to the core.
“I remember that day well,” he said, squeezing your hand. “You were so eager to drag me to the library and show me that book. Then you went on about how vampires and humans are the same or some such nonsense. You were so excited, you were like a puppy.”
Heat rose to your cheeks instantly, knowing exactly the moment he meant. You spluttered, trying to find your words, before something brushed against your lips. It took a moment to realize that he'd kissed you, a look of love but also enjoyment on his face, and you couldn't help but huff as you turned away, earning a chuckle from the musician. A low rumbling could be heard from the kettle, but you didn't want to get distracted yet from dealing with your lover's teasing words.
“Well, I'm sorry this ‘puppy’ was just trying to connect with you. Maybe I won't share my extra special hot chocolate secrets with you, then, if it's a bother.”
A moment of silence passed, and the lack of response started to nag at you. A trickle of doubt entered your mind, but you stayed strong, knowing Mozart was just trying to tease you. This certainly wasn’t the first time you two had exchanged snarky words, and it wouldn’t be the last. Finally, he sighed, wrapping his blanketed arms around you, and his cool fingers tilted your chin up his way so you could see him.
“Mein liebchen, you could never be a bother to me,” he murmured. It was so easy the way his words made your heart flutter. “And you know I’ve already told you, I’m dedicated to learning everything there is to know about you. So I hope you’ll tell me all your secrets, too, even if it’s about hot chocolate.”
“Wolf…”
A wave of love rushed over you, and it was a struggle to keep a lid on your emotions. Mozart was the same, his chest almost uncomfortably tight with how much he loved you. It was only natural, then, for your lips to meet– at least, until a shrill whistling caught your attention.
“Oh!”
You broke out of Mozart’s hold to grab the kettle, moving it off the burner and shutting off the heat. You looked over at him, and you fell into laughter together.
After that, it was easy enough to show him how to make some easy yet decadent hot chocolate, telling him how companies developed a powder mix for ease of use, and the debate on whether to use milk or water. Next, he learned the wonders of whipped cream in a can, how it stayed fresh and cool. And lastly, the sprinkles of puffy marshmallows with some cinnamon dusting made the final touch, including a little history lesson on how the modern marshmallow no longer contained medicine and now served as a simple sweet treat. Mozart’s eyes were sparkling as he looked at the final creation, and you couldn’t help but fall in love all over again with that boyish curiosity.
Once the treat was deemed a safe temperature, you two took your sips simultaneously. A clear look of pleasure filled your lover’s face, and it wasn’t long before he was drinking it quicker than expected.
Time passed, standing in the kitchen with your mugs feeling pleasantly full and warm, and Mozart glanced at the ceramic jar again, a wistful look in his eyes. You leaned against him, waiting for him to speak, and a quiet voice came out.
“I hope Schelm is doing okay… or was okay, after I left,” he said.
You gave him a nudge.
“I think he’s okay. He’s got everyone in the mansion to care for him, after all. Sebastian was especially excited to meet him, you know,” you replied, grinning at him. You glanced down at your empty mug. “I bet Sebastian could make a really good cup of hot chocolate, I wish I got to try it.”
Mozart nudged you back.
“Well, I don’t think anyone can make things like Sebastian. That man is an enigma just as much as he’s a butler. But I think he also can’t make hot chocolate the way you can, and I’m perfectly fine with that,” he said.
You two shared a sweet kiss, your lips warm and chocolate tasting. It was hard to ignore the bitterness you two held inside, leaving the people and beings you loved to come to the future, experiencing all these changes and sometimes feeling out of sorts. But the sweetness of hot chocolate helped to ease the pain a little bit, and you knew you’d be making another cup of deliciousness sometime soon.
Tumblr media
14 notes · View notes
kremlin · 2 years ago
Note
How DOES the C preprocessor create two generations of completely asinine programmers??
oh man hahah oh maaan. ok, this won't be very approachable.
i don't recall what point i was trying to make with the whole "two generations" part but ill take this opportunity to justifiably hate on the preprocessor, holy fuck the amount of damage it has caused on software is immeasurable, if you ever thought computer programmers were smart people on principle...
the cpp:
Tumblr media Tumblr media Tumblr media
there are like forty preprocessor directives, and they all inject a truly mind-boggling amount of vicious design problems and have done so for longer than ive been alive. there really only ever needed to be one: #include , if only to save you the trouble of manually having to copy header files in full & paste them at the top of your code. and christ almighty, we couldn't even get that right. C (c89) has way, waaaay fewer keywords than any other language. theres like 30, and half of those aren't ever used, have no meaning or impact in the 21st century (shit like "register" and "auto"). and C programmers still fail to understand all of them properly, specifically "static" (used in a global context) which marks some symbol as inelligible to be touched externally (e.g. you can't use "extern" to access it). the whole fucking point of static is to make #include'd headers rational, to have a clear seperation between external, intended-to-be-accessed API symbols, and internal, opaque shit. nobody bothers. it's all there, out in the open, if you #include something, you get all of it, and brother, this is only the beginning, you also get all of its preprocessor garbage.
this is where the hell begins:
#if #else
hey, do these look familiar? we already fucking have if/else. do you know what is hard to understand? perfectly minimally written if/else logic, in long functions. do you know what is nearly impossible to understand? poorly written if/else rats nests (which is what you find 99% of the time). do you know what is completely impossible to understand? that same poorly-written procedural if/else rat's nest code that itself is is subject to another higher-order if/else logic.
it's important to remember that the cpp is a glorified search/replace. in all it's terrifying glory it fucking looks to be turing complete, hell, im sure the C++ preprocessor is turing complete, the irony of this shouldn't be lost on you. if you have some long if/else logic you're trying to understand, that itself is is subject to cpp #if/#else, the logical step would be to run the cpp and get the output pure C and work from there, do you know how to do that? you open the gcc or llvm/clang man page, and your tty session's mem usage quadruples. great job idiot. trying figuring out how to do that in the following eight thousand pages. and even if you do, you're going to be running the #includes, and your output "pure C" file (bereft of cpp logic) is going to be like 40k lines. lol.
the worst is yet to come:
#define #ifdef #ifndef (<- WTF) #undef you can define shit. you can define "anything". you can pick a name, whatever, and you can "define it". full stop. "#define foo". or, you can give it a value: "#define foo 1". and of course, you can define it as a function: "#define foo(x) return x". wow. xzibit would be proud. you dog, we heard you wanted to kill yourself, so we put a programming language in your programming language.
the function-defines are pretty lol purely in concept. when you find them in the wild, they will always look something like this:
#define foo(x,y) \ (((x << y)) * (x))
i've seen up to seven parens in a row. why? because since cpp is, again, just a fucking find&replace, you never think about operator precedence and that leads to hilarious antipaterns like the classic
#define min(x,y) a < b ? a : b
which will just stick "a < b ? a: b" ternary statement wherever min(.. is used. just raw text replacement. it never works. you always get bitten by operator precedence.
the absolute worst is just the bare defines:
#define NO_ASN1 #define POSIX_SUPPORTED #define NO_POSIX
etc. etc. how could this be worse? first of all, what the fuck are any of these things. did they exist before? they do now. what are they defined as? probably just "1" internally, but that isn't the point, the philosophy here is the problem. back in reality, in C, you can't just do something like "x = 0;" out of nowhere, because you've never declared x. you've never given it a type. similar, you can't read its value, you'll get a similar compiler error. but cpp macros just suddenly exist, until they suddenly don't. ifdef? ifndef? (if not defined). no matter what, every permutation of these will have a "valid answer" and will run without problem. let me demonstrate how this fucks things up.
do you remember "heartbleed" ? the "big" openssl vulnerability ? probably about a decade ago now. i'm choosing this one specifically, since, for some reason, it was the first in an annoying trend for vulns to be given catchy nicknames, slick websites, logos, cable news coverage, etc. even though it was only a moderate vulnerability in the grand scheme of things...
(holy shit, libssl has had huge numbers of remote root vulns in the past, which is way fucking worse, heartbleed only gave you a random sampling of a tiny bit of internal memory, only after heavy ticking -- and nowadays, god, some of the chinese bluetooth shit would make your eyeballs explode if you saw it; a popular bt RF PHY chip can be hijacked and somehow made to rewrite some uefi ROMs and even, i think, the microcode on some intel chips)
anyways, heartbleed, yeah, so it's a great example since you could blame it two-fold on the cpp. it involved a generic bounds-checking failure, buf underflow, standard shit, but that wasn't due to carelessness (don't get me wrong, libssl is some of the worst code in existence) but because the flawed cpp logic resulted in code that:
A.) was de-facto worthless in definition B.) a combination of code supporting ancient crap. i'm older than most of you, and heartbleed happened early in my undergrad. the related legacy support code in question hadn't been relevant since clinton was in office.
to summarize, it had to do with DTLS heartbeats. DTLS involves handling TLS (or SSLv3, as it was then, in the 90s) only over UDP. that is how old we're talking. and this code was compiled into libssl in the early 2010s -- when TLS had been the standard for a while. TLS (unlike SSLv3 & predecessors) runs over TCP only. having "DTLS heartbeat support in TLS does not make sense by definition. it is like drawing a triangle on a piece of paper whose angles don't add up to 180.
how the fuck did that happen? the preprocessor.
why the fuck was code from last century ending up compiled in? who else but!! the fucking preprocessor. some shit like:
#ifndef TCP_SUPPORT <some crap related to UDP heartbeats> #endif ... #ifndef NO_UDP_ONLY <some TCP specific crap> #endif
the header responsible for defining these macros wasn't included, so the answer to BOTH of these "if not defined" blocks is true! because they were never defined!! do you see?
you don't have to trust my worldview on this. have you ever tried to compile some code that uses autoconf/automake as a build system? do you know what every single person i've spoken to refers to these as? autohell, for automatic hell. autohell lives and dies on cpp macros, and you can see firsthand how well that works. almost all my C code has the following compile process:
"$ make". done. Makefile length: 20 lines.
the worst i've ever deviated was having a configure script (probably 40 lines) that had to be rune before make. what about autohell? jesus, these days most autohell-cursed code does all their shit in a huge meta-wrapper bash script (autogen.sh), but short of that, if you decode the forty fucking page INSTALL doc, you end up with:
$ automake (fails, some shit like "AUTOMAKE_1.13 or higher is required) $ autoconf (fails, some shit like "AUTOMCONF_1.12 or lower is required) $ aclocal (fails, ???) $ libtoolize (doesn't fail, but screws up the tree in a way that not even a `make clean` fixes $ ???????? (pull hair out, google) $ autoreconf -i (the magic word) $ ./configure (takes eighty minutes and generates GBs of intermediaries) $ make (runs in 2 seconds)
in conclusion: roflcopter
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ disclaimer | private policy | unsubscribe
159 notes · View notes
cinoman · 3 months ago
Text
for how much technology has completely transformed society i’m suprised so many people think divine machinery is a stupid concept
i recently went to a company site visit for a company who manufactures medical equipment (mostly for dealing with blood). im a CS major so i mostly went for the SWE intern positions being offered, but part of the visit was walking around and looking at workers do their jobs with the machines created and it made me think about how these people’s 9-5s are dedicated to creating/maintaining devices to help people’s livelihoods
there’s something oddly divine about our relationship with technology, we live in a time where people have pace makers programmed in C. technological failures can lead to death. life itself is being determined by technology. to a degree, i think knowing more about technology brings you closer to god
because god is all-knowing, and technology provides innovations to know more beyond the scope of our universe. think about how much engineers and computer scientists work to get the first man to space. technological advancement is a holy pursuit, we’re finding out more about the universe created for us
we’re seeing things like organoid intelligence start to make big strides in directions we never could have imagined—brain powered computers. it’s fucking wacky, but at the same time, you feel reverent.
growing up i was always taught that god wasnt human, he was god. thats why allah is never drawn as a man, but (usually) a light. of course the things most divine on earth would never be human
12 notes · View notes
bricksandmutualaid · 4 months ago
Text
Comrades,
Today in Computer Math, Mr. Closs unveiled our semester’s final project: develop any program we choose, pending his approval. Naturally, I’m seizing this opportunity to create something that exposes the absurdity of capitalist logic. Introducing: The Capitalist Inventory.
Concept: This program presents you with morally challenging scenarios to gauge your capitalist tendencies. For example:
“You encounter a friendly dog with a collar sitting by the roadside. Do you:
Locate the owner’s information on the dog’s tags and return it safely?
Brutally mutilate the dog and leave its remains at the owner’s address?”
Based on your choices, the program assigns you a capitalist score (1-100) and suggests ways to rectify any capitalist inclinations through mutual aid and direct action.
In other news: John C has been absent for two days, which is unusual given his parents’ strict attendance policies. I managed to call him from the office phone; he claimed he wasn’t feeling well but seemed off. Our conversation was brief due to class, but I can’t shake the feeling something’s bothering him—perhaps related to the weekend’s events.
On a personal note: I’ve got detention today. I feel guilty that my grandma has to pick me up, especially since she’s the primary caregiver for my autistic cousin, Aaron. Despite her busy schedule, I’m looking forward to seeing Aaron; he’s always eager to discuss communism and shares fascinating insights.
12 notes · View notes
dustpan-dispatch · 2 days ago
Text
Tumblr media
I find online communities of "plurals" and "tulpamancers" to be super interesting. I think it's actually good for this stuff to exist and proliferate, because it allows us to manipulate our collective conscious in a positive direction.
You can actually will yourself into creating an autonomous entity that lives in your head if you believe in it enough; you can literally force a separate being into existence that embodies traits you deem "positive", and split yourself into different "selves", or make part of your "mind" embody a fictional character, for example.
Maybe this stuff is "cringe", but I honestly think that feeling is something we get when we interact with something we don't understand, which is why kids get bullied. This shit could be actually true, and to me it's super interesting. These techniques could be employed in therapy for example, or used to literally "expand our consciousness" - if we have different "selves" we can compartmentalize information into each "mind" and then come up with a way to access each "mind" at will, like swapping between hard drives.
Perhaps this could be easier with assistance of a computer interface, or psychedelics.
John C. Lilly was getting into this with "Programming and Metaprogramming in the Human Biocomputer", and Robert Anton Wilson has similar ideas in "Prometheus Rising" ("reality tunnels").
quoting the article (it's a good read):
"Through various techniques one can break down old reality tunnels and impose new reality tunnels by removing old filters and replacing them with new ones, with new perspectives on reality—at will. This is attempted through various processes of deprogramming using neuro-linguistic programming, cybernetics, hypnosis, biofeedback devices, meditation, controlled use of hallucinogens, and forcibly acting out other reality tunnels."
You can go down a great Wikipedia rabbit hole from there (Prometheus Rising is also a really good read). 
some related concepts:
Divine embodiment
Servitors
Synchromysticism
4 notes · View notes
faceeeeee · 2 years ago
Note
I wonder if you made backstories for the tadc employees or smh-
(I wanna know Gangle's :3)
I have some concepts and ideas in my mind but it's all very vague and I haven't written anything down so forgive me for any incoherent sentences or messy writting:
Pam:
Ever since she left for college she cut all contact with her family and "friends" (she calls them acquaintances/contacts) and put all of her attention in her studies. She graduated at the top of her class in computer sciences and got hired at C&A almost immediately. The moment she left college she noticed a sudden shift in her routine. She dedicated her entire life into her studies and grades and completely disregarded any social interactions, hobbies.... She excepted that when she got a job, all of her problems would've been solved but she found out that she was wrong. Her first few months at the company were okay to say the least but as time went by she felt more and more empty and depressed. Her lack of social skills and pride didn't help either and rejected all of her coworker's attempts to befriend her. So she spent her time either overworking herself, drinking or sleeping. She worked in that company for 5 whole years: Her sleep schedule was a mess, her salary wasn't exactly ideal and she started taking anti-depresants and a hunch of other stuff and Reggie's disappearance (or "temporary departure") took a toll on her. Not only because her boss decided to make her the head of her department but also because he was the only one who was still willing to talk to her. So now she was left with a bunch of deadlines and work and the only one who even looked at her and said hello every morning was now gone. Her life was shit, basically, so why not try again in a new life, a new world and with new memories?
Reggie:
Good ol' Reggie has been working in the company for 18 years now and he couldn't be happier. He had a decent childhood, a loving wife and a decent job that keeps the both of them stable! And a father-daughter relationship with Genevieve, so he couldn't be more happy with life! The only thing he wishes is that he could have more time to spend with his family and his hobbies (he keeps and collects cool bugs, obviously :) ) and that the company wasn't so strict with deadlines and such. He is the head of the programming department so he has a lot of work on his plate...but it's all for a good cause: the digital circus! In his eyes, it's a magical place that helps people to to distract themselves for a while and to have a little fun before they return to their normal lives! So you can imagine his excitement once his boss told him that they were going to let the staff be actual play testers! He was ECSTATIC! he spent YEARS fixing and refining the digital plains so of course he decided to be one of the first playtesters. Queenie was a little hesitant at first but he told her not to worry! He knew that the code was a little finicky at times but that's okay! He has Pam and the rest of the staff to take care of it if anything goes wrong, after all he wholeheartedly trusts them :) nothing could possibly go wrong right?
Jack:
Dear Jack....the C.E.O's son. He has been wandering around the company for a few years now, working in some low paying positions to earn a little pocket money from his parent. He's known as the office's little miscreant as he just goofs around all day and nobody can touch him or say anything cause if they do they're gonna get fired! Ain't that fun? But his luck runs out when even the C.E.O has had enough of his bullshit and offers him to take a little time off from his studies and work to go and be a beta testers for his folks vr experience. Ain't that idea fun? Just log in, fuck around and then come back for dinner, right?
Agatha:
Agatha, a hard working gal with lots of siblings to take care off. Her folks aren't around to help her so she takes care of em all throughout college until she gets the position in the robotics department! She goes up the ranks and even becomes the head of her department :). She mainly works with the headset design and with the new technology that the company has introduced. She has never seen anything like it: with it you can feel and hear your surroundings whilst hooked to the digital plains. So when she heard that they were offering people to beta test the digital world she couldn't help but to want to experience all of those things herself! She does wonder why they have to have her sign a contract but she trusts the company. She has been with them for some time now and the staff and boss have been nice to her so far, so why wouldn't she trust them?
Genevieve:
Dear Genevieve has had a sort of rocky life. Her mother has been very overprotective over her and that has left her with no real life experiences. She was homeschooled almost her entire life so when she entered college she had a hard time adjusting to her new routines. She's very explosive emotionally and very finicky over her personal space so she couldn't (or didn't want to) make acquaintances and so, she made it to the company with no connections apart from her obsessive mother, just like Pam. She worked a year and a half in the company, and that was enough time to meet and befriend Reggie. At first she was very wary of him and very hostile to him. But good ol' Reggie just keeps saying hi to her every morning, just like he does with every employee he sees. One day, when they were both on break, Reggie tried to break the ice and tried to start some small talk with her. She got scared and basically yelled all sorts of barbaric things to him and he just gave her a warm smile. Nothing can hurt this man, god. Genevieve was surprised that he hadn't yelled back at her or left and stared at him for a while. Then guilt overcame her and she started sobbing. Reggie comforted her as best as he could and since then they formed a bond. So when she learned that he had left to be a beta tester she was again left alone in the office. Desperate for his comfort and precense she decided to follow him to the digital circus...
Zephyr:
They had a relatively normal life (apart from an accident that left them without a bloody leg but it's alright), graduated from art school and started working at C&A. They overestimated the pressure and stress that came with working at the company to the point that they were exhausted. They would've left if it wasn't for the fact that getting a job with their degree was extremely difficult and the chances for getting hired were very slim. So they kept on working. They worked day and night. A million coffee cups had started to pile up on their desk and they had severe bags under their eyes. They were tired, so very fucking tired. Why wouldn't they try to escape reality for a bit? Goof around in the digital plains, maybe use it as some sort of rage room. Maybe they could do all of the things that they had thought of without any consequences. Yeah, just for a little bit....it couldn't hurt, right?
80 notes · View notes
seirooo0 · 1 year ago
Text
Tumblr media
I fucking lost it
Type: Drabble (??????????)
Synopsis: You, a robot. Rui, your creator
Content warnings: GN!Reader as usual : 3, probably angst if I can write angst good enough; Uhhhhhhh you got abandoned yaur hahhahahahaha
C. Note: I've lost it, have this content before I disappear for the next few months again <3 love you guys fr fr — Thing under cut!!
For as long as you remember, you were created for the purpose of accompanying someone..
That someone was your creator.
You were created to be with him, to cater his needs—particularly the need for a friend. Despite the fact you don't quite show the enthusiasm when he rambles about his little inventions or when he has a new show idea, you still show that you're listening to him regardless of your inability to feel emotions or express yourself. "So this one brings you anything you need or want, just say its name and the thing you want it to bring to you!" Exclaimed Rui, showing off a robot in his hands. You nodded, your face painting a rather blank look as you clapped with your metallic hands "That sounds amazing." Spoken with a monotone voice. Rui's expression slowly falters as he smiles rather sadly. The concept of emotions was an alien to you, that you, subconsciously, tilted your head in mere confusion. Confused, as to why he looked sad, confused as to how you made him sad. Question after question popped in your head but before you could even ask, the purple haired man shook his head. "No, it's nothing. Sorry, I just remembered something." He immediately answered, even though you haven't asked the question yet.
Of course, he knew what you were thinking—or at least assumed and got the correct answer—he made you after all. Programmed the way you think, behave, move, speak, everything. That's why it's not a wonder how he knows almost everything you're about to say even though you haven't opened your mouth yet.
Truly, truly, you knew you cannot replace a real human, someone to accompany Rui; your creator. You cannot replace the warm feeling of talking to a human being. You cannot replicate the emotions and the enthusiasm one would have when talking with someone. You cannot emphasize, you cannot replace whatever every human has. You are made of metal after all—pure metal—and some computer programming shenanigans. Even though you are unaware of some things, this one you are fully aware of. And because of that awareness, rather than feeling a tiny bit of relief that you are able to at least alleviate the pain of loneliness, you felt pity. Not only towards him, but also towards yourself. The you whose only sole purpose was to accompany Rui and make his days less dreadful and yet you brought nothing more but a sole reminder of the boy's loneliness.
You wished for the best for him, you encouraged him to talk to others thanks to your advancing AI knowledge. After all, he programmed you to be an AI who learns based on experience. So from all the research and data gathering you did—even though you barely understood emotional needs, you couldn't really make your heads or tails on the topic—you brought out the best in you to help your creator. That overtime, to Rui, you felt like a real human; a real friend to him. He considered and saw you as an actual human being, not a robot he created to cope with his loneliness. Rui considered you one of his closests friends aside from Nene and Mizuki.
Time flew by rather quickly for you, or perhaps it's because you don't really have a sense of time. But now you watch as the once young middle schooler slowly grows in his second year of highschool. You couldn't always be there for him, since they never allowed a (almost) human-like robot to be a student nor a visitor there (they banned Rui from bringing you to school for a reasonable purpose). So seeing him make more friends and even reconnected with his childhood friend and a friend from middle school made your heart—albeit non-existent—feel warm. Oftentimes, he'd tell you about his troupe; how he blew this friend of his, Tsukasa, out of a canon again and up in the skies; how Emu gave him another amazing show idea— or the way Nene would profusely groan everytime Tsukasa would proclaim yet another 'poetic' speech from how Rui described it— it was rather heartwarming. Really. You couldn't be any more happier for him if you could even feel.
One day, he introduced you to his troupe, the one he always mentions day by day after school. And the first comment one of them made—Tsukasa was the name, was it?— It was quite amusing to say the least.
"You're friends with a robot, Rui?! Did you make this?"
And you watch as Rui answers with enthusiasm, answering questions while you watch Tsukasa who has a dumbfounded expression on his face. You very rarely speak, so hearing a voice out of your metallic body further shooked the duo (excluding Nene, Rui had introduced her to you first before the other two anyway). Tsukasa kept making comments about how it was possible that Rui made this, you being a robot. Something a 5-year-old child would fawn over. Similar situation with Emu, however she complimented you more than anything, and that made you smile—or at least, you think you smiled. You couldn't really tell.
"Is it right to call it a 'friend' rather than your creation, though? I mean, aren't robots incapable of feeling anything?"
Tsukasa absentmindedly commented, which brought you back to painful reality.
You were never human. Right.
Watching as Rui talked more with his friends, even saying along the lines of "How cruel Tsukasa-kun! My friend here may be a robot but they accompanied me throughout my earlier years!" although maybe more dramatically. Tsukasa apologized to you, but you don't really understand why there was a need for it. Nevertheless, you never dared to ask.
Throughout the conversation, you felt rather… for a lack of better words; alienated. Sure, you're aware that you're not human. But having it pointed out made it… how would you call it.. awkward on your side, perhaps.
But of course, like any other time. You didn't mind. You're not programmed to think about complicated things after all.
However, watching him slowly drift away from you was something you expected from the beginning. But nevertheless, you were happy for him.
At least, you think you do.
But now that you've thought about it, you constantly refer to this weird thing as 'feel', 'feeling', any other synonym it has. From all the research you've done after your dilemma over this issue, you came to a conclusion that indeed; you are feeling emotions. And perhaps, one of the biggest flaws as a continuously learning AI robot is slowly learning what they are. You felt happy for Rui, but you knew that his slow yet painful detachment to you was overpowering your happiness. However as a creation whom Rui believed to be flawless, you refuse to speak about this out loud. You knew that as much as Rui made you this advanced, he never intended to give you any emotions. He never intended, because he doesn't know how to. And also maybe to avoid making you feel sadness. After all, happiness will never be without sadness, the same as dark cannot exist if there's no light.
So here you are, finding that you are more and more in a 'shutdown' state. Usually, it was automatic as a way of resting and recharging your battery. However, Rui reprogrammed you to be powered off manually now, and you never dared to ask why.
Now, you're here. Finding yourself sitting down on the floor absentmindedly as Rui looked at you with a rather melancholic look before approaching you leisurely. Muttering a silent gratitude, you watch as he reaches for your power button. You couldn't quite see his face clearly, but you assumed he wore a sad smile; the same smile you remembered he always wore back in middle school. Watching with a blurry vision, Rui puts you inside the closet, keeping you locked away until the next time he uses you. You wished that you could be used again— to see his face again and tell you about his new invention, or his new show idea. But now, it feels like a faraway dream as you slowly slip out of consciousness.
The last image you had seen was his face, slowly disappearing as he closed the closet door.
It was enough to make you cry, but you couldn't.
Silently, you wished you could.
————————————————————————————————————————————
Footnote: We eating good tonight
49 notes · View notes
triviallytrue · 2 years ago
Note
Genuine question: How does one get good at programming? Like I’m good at math, I know basic C# more or less and I get a lot of the core concepts, but I can’t imagine what it’s even like to be proficient at this stuff. Is there a point where you just “get it”, or do you just have to keep googling why your script isn’t working over and over until you die?
There isn't really any one generalized "programming skill" - it's possible to have a lot of computer science understanding but be completely unable to accomplish specific tasks, or to get very good at accomplishing specific tasks without any real computer science understanding
In college I took a number of CS classes that were mostly language agnostic focusing on broad topics like asymptotic analysis, data structures and algorithms, recursion, and reading/understanding code (and more specific stuff about memory management/how computers work etc)
This core foundation has been very useful to me, but it's worth noting that at the time I graduated college I wasn't really "good at programming" in any meaningful sense - if you asked me to accomplish an actual concrete, useful task, I would've struggled quite a bit!
So how do you get good at accomplishing tasks? Same as anything else, spend a lot of time doing similar things and (ideally) expand your skillset over time. It helps a lot to have a programming job, both because it means you spend all day doing this kind of thing and because you're surrounded by (ideally) good code/tools and people who are more experienced than you
To quote myself on my sideblog:
Tumblr media
67 notes · View notes
moose-mousse · 2 years ago
Text
A beginners guide to GIT: Part 4 - How to use GIT as 1 person
Table of content: Part 1: What is GIT? Why should I care?
Part 2: Definitions of terms and concepts
Part 3: How to learn GIT after (or instead of ) this guide.
Part 4: How to use GIT as 1 person
Part 5: How to use GIT as a group.
When it comes to not getting in each other's way, working alone is the simplest (It has a lot of other drawbacks). This is the simplest way to use GIT. You can do it with an external repository as a backup or just locally on your computer. It depends on how important your project is. If your laptop crashes tomorrow, which projects would you have a really hard time losing? Better to have an external backup for that. Github is often used for this (Maybe less now that Github makes machine learning AI’s, and so ARE stealing your code to train their AI on.) but you can also use Bitbucket (Which... may also steal your code...) and there are many many others out there. GIT is often used in certain patterns, called “workflows”. These have you working in more or less rigid ways to make it simple to work together. But since you are working alone, you do not risk others changing your code while you are working, so you can do it the simplest way :D
I will be doing a step by step guide that you can follow along. I will be doing it on a completely empty project and making a tiiiiiny program in C. This is because it is super simple. You do NOT have to know C to follow. You can also follow the steps with your own already existing project.
I PROMISE you, GIT cannot hurt you. Worst case scenario is that you fiddle around and break the repository part. (Meaning the files in the .git folder). But your files will always be safe.
(If you do not have git installed, check out part 3 for that)
First, I make a folder, navigate my shell into it, and call git init:
Tumblr media
By the way, you can get used to GIT messages like this that tell you all your options, and explain what GIT has done for you. GIT is very good about giving you as much help and info as possible,
Now I will teach you the most important command in GIT.
It is more important than any other. Ready?
git status
Tumblr media
This makes GIT tell you what git thinks is happening right now. What issues there are and what files are tracked, untracked or have been changed. Use this command often, especially while you are new to GIT, run it after every other command. It is how you learn what GIT is doing and thinking :3
Since our repo is empty it tells you what branch you are on (master. The only branch we will need since we are working alone)
and that you have not made any commits.
It also tells you the commands git think you will want to use on files. Since our repository is empty, it tells us to create some files, and then how to add them :3 So let's do that:
I have added my tiny program, as you can see:
Tumblr media
Now let us see what GIT thinks we did:
Tumblr media
Now, since there have been changes, git shows us them.
Files can be untracked tracked and not changed (In which case, git status does not show them) tracked and changed.
Right now, main.c is untracket. Which basically means GIT have no idea about this file, other than it is in the folder.
Ok, let us commit(save) the file. GIT tells us this is done with git add <File> . So we will write git add main.c
Then we use git status again to see what happened git status
Tumblr media
And yeah, our file is now ready to be committed. So lets do it! git commit -m “My first commit!”
The “-m” option is to write the git update explanation directly in the console instead of using an external program to do it. Done You have now committed your code! It is now saved!
git status shows that everything in the working tree is as it was last time we committed (Duh. We JUST committed)
Tumblr media
I will now make some changes to the main file:
Tumblr media
Git status shows us main.c was changed...but what if we wanted to know what was changed in more detail? How will we get status to do that for us? Let us find out! git help status
git then shows the help page for status And there we can see this part:
Tumblr media
So if we write status with 2 -v arguments, we get all the details. Let us try:
Tumblr media
And look! It shows us EXACTLY what lines were changed! I stage the changes and commit:
Tumblr media
And you have now learning enough about GIT to use it.. You now have all your work saved, in different commits. If you ever want to know all the commits you have made, write git log:
Tumblr media
And if you want to know what a specific commit did, you copy the name of the commit, and write git show:
Tumblr media
Now, everytime you want to save your work, you
1: Write/change the files you want
2: Add the files you want as part of this commit
3: make the commit These three steps are your workflow.
If you have a remote repository, then you add them steps
4: push to remote repository
To do this step, you can actually just write
git push
If you have set up a remote repository, then it just works. If you have not, then git will tell you what to do Whichever remote repository you use will tell you if you need to do other steps, like setting up passwords or ssh keys. They will also tell you how to set up the remote repository (That is not a GIT thing, that is a bitbucket or a github thing, so refer to whichever of those sites you want to use) And that is all! Every time you commit, your project is saved (it is smart to commit often, but usually only commit when your project can be compiled.) And whether you use a remote repository or not, you now have a fully valid GIT repository, and all the git tricks can be used on your project!
39 notes · View notes
robotabc773 · 1 year ago
Note
math asks! 18, 19, 23, 40, 56, 59 (or ofc some subset, like you said)
18+19: Can you share a good math problem you’ve solved recently? How did you solve it?
I was recently several tangents down a research rabbit hole and discovered that CC: Tweaked (the modern fork of the minecraft mod ComputerCraft), instead of allowing its computers to simply know where they are in the world, instead has a built-in gps library that works on top of the rednet networking system which is itself built on top of the built-in support for wireless modems to communicate between computers. It works because sending messages via modem tells you the distance between the two communicating computers, so with a set of 4 computers that all know their own locations and are setup in the right configuration, any other computer can talk to them and trilaterate its position. Which then of course got me thinking about the amount of information you gain from knowing your distance to a particular number of fixed points and how that generalizes to multiple dimensions. I believe what we get is both our position as projected onto the space spanned by the fixed points as well as our distance to that space. I don't have an actual proof for this but I'd love to know if anyone has one or knows the name of this concept so that I can look one up!
23: Will P=NP? Why or why not?
Well for the sake of cryptography working I really hope that P≠NP because otherwise we're kinda screwed on that front. Intuitively it seems like that should be the case, like I'd expect that there should be some problems that are hard to solve even if they're easy to check.
40. What’s the silliest Mathematical mistake you’ve ever made?
I really wish I had a good story to tell here but I can't think of one sorry :c
56. Do you have a favorite sequence? Is it in the OEIS?
I often find myself with favorites in considerably less categories than I am asked about. This is one such case.
59. Can you recommend any online resources for math?
Ooh this is a little sideways from what I'd normally think of as just math (in the direction of CS of course), but I'd highly recommend The Natural Number Game, an interactive introduction to formalized proofs in Lean! If you enjoy it, Software Foundations is a great (and free!) series of textbooks to learn how to apply these techniques to the task of formalizing and proving properties of programming languages (using a similar but separate language called Coq)
12 notes · View notes
izicodes · 2 years ago
Note
Hiya!! I am taking a coding course at a University. While it's excellent for learning how to use a lot of complicated concepts in programming, we don't really get to do any projects or create anything yet. I was wondering how to get into that. Are there any resources you might recommend?
Hiya!! 💞
Goodie, you want to build your own projects! That's so good, I love project building! Now, it depends what you're coding (the languages + specific area) e.g. are you learning HTML/CSS/JavaScript (Website building) or is it like Python/Java/C# idk but you get what I'm asking for here, the projects you want to learn and build depends on what you're learning in the first place! But I will give some general advice!
Tumblr media
🎥 YouTube
I love YouTube so much, there are thousands of videos on that site for any programming language to building pretty much anything! What I did when I started off was the simple search of "[The coding language] beginner project" and then I get to see what I can build. Now if you get stuck on a snippet of code, Google it and there are sites that will explain it for you. Now, don't fall for tutorial hell where you're watching tutorial after tutorial videos but watching them will give you a good foundation!
🔍 Google
Similar to what I said for the YouTube way, you can Google the same question and it will give you a bunch of project ideas, how to even do them and all you can do also is add more on top, what I mean is don't just watch or read about a project idea, see how you can twist it your own style e.g. recently I watched a React.js tutorial on how to make a to-do app! My twist was I styled it different by adding a frog theme. So the tutorial was my foundation and I just added on top of that to further exercise my skills!
🌐 GitHub
Have a hub for all your projects! After creating your projects, you don't just want it sitting on your computer, you can put it online! I use GitHub - it's a place where you can store all your projects, have a save history so you can go back on old code, even share the static webpages you make (using HTML/CSS/JavaScript) with other people online! The Site | How to use GitHub | Check out my GitHub for reference
📚 Online Courses
Many online platforms offer project-based courses. Websites like Udemy, Coursera, Codecademy and FreeCodeCamp can guide you through creating practical projects step by step. I use Udemy for learning and there are courses that are like "Build 9 web development projects blah blah blah" they're actually really good! BUT you do have to pay for them but if you can't find a good project on YouTube to follow or you can visualise or understand the articles online on how to build one, I suggest getting a course because someone teaches you how to make the project. Udemy is fairly cheap during their sales, going down from £59.99 to £10.99!
🤗 Collaboration
Reach out to classmates to build together, someone is bound to have an idea for something! Collaborative projects not only expand your skill set but also let you learn from others. Great skill to have! You can even collab on GitHub projects - which I am doing right now with people I've met through Tumblr (checkout our project)!
Remember, Rome wasn't built in a day! Start with small projects, gradually challenging yourself with larger ones. The journey of creating is just as exciting as the finished project itself. Happy coding! 😎🙌🏾💻💗
Tumblr media
43 notes · View notes
reidio-silence · 1 year ago
Text
Furthermore, personal computers are no longer “universal machines”: their possibilities are limited by their assigned interfaces and programs so that they function only as the terminus of digital capitalism. This is justified as “user-friendliness”: anyone who uses a computer for reasons outside of research, development and production today is no longer supposed to understand what is going on in the device, and is instead made dependent on digital services. As with most productive forces within capitalism, the development of the computer is characterized by the fact that in dealing with them, the user does not learn any of the skills proper to the productive force. On the contrary, we find ourselves in a situation in which the widespread usability of computers is paired with an extensive digital illiteracy. Technological progress has become a source of social regression; the culturally pessimistic suspicion that smarter phones require ever dumber people is not that far-fetched.
this is such a silly argument that relies on vague concepts like 'digital literacy' while ignoring the change in what kind of people have access to computers now versus before and the purposes that they're being used for. someone who used a computer decades ago would be much more relatively likely to understand what's going on inside and directly programming it sure but they're also using it in a world where computers are used by much fewer people for more specific things. the people who went to a university with arpanet access in the 80s may be have gotten careers out of it and become the best C programmers, but that doesn't make them overall better at doing things with computers than kids fucking around online today.
14 notes · View notes
simerjeet · 6 months ago
Text
Mastering Data Structures: A Comprehensive Course for Beginners
Data structures are one of the foundational concepts in computer science and software development. Mastering data structures is essential for anyone looking to pursue a career in programming, software engineering, or computer science. This article will explore the importance of a Data Structure Course, what it covers, and how it can help you excel in coding challenges and interviews.
1. What Is a Data Structure Course?
A Data Structure Course teaches students about the various ways data can be organized, stored, and manipulated efficiently. These structures are crucial for solving complex problems and optimizing the performance of applications. The course generally covers theoretical concepts along with practical applications using programming languages like C++, Java, or Python.
By the end of the course, students will gain proficiency in selecting the right data structure for different problem types, improving their problem-solving abilities.
2. Why Take a Data Structure Course?
Learning data structures is vital for both beginners and experienced developers. Here are some key reasons to enroll in a Data Structure Course:
a) Essential for Coding Interviews
Companies like Google, Amazon, and Facebook focus heavily on data structures in their coding interviews. A solid understanding of data structures is essential to pass these interviews successfully. Employers assess your problem-solving skills, and your knowledge of data structures can set you apart from other candidates.
b) Improves Problem-Solving Skills
With the right data structure knowledge, you can solve real-world problems more efficiently. A well-designed data structure leads to faster algorithms, which is critical when handling large datasets or working on performance-sensitive applications.
c) Boosts Programming Competency
A good grasp of data structures makes coding more intuitive. Whether you are developing an app, building a website, or working on software tools, understanding how to work with different data structures will help you write clean and efficient code.
3. Key Topics Covered in a Data Structure Course
A Data Structure Course typically spans a range of topics designed to teach students how to use and implement different structures. Below are some key topics you will encounter:
a) Arrays and Linked Lists
Arrays are one of the most basic data structures. A Data Structure Course will teach you how to use arrays for storing and accessing data in contiguous memory locations. Linked lists, on the other hand, involve nodes that hold data and pointers to the next node. Students will learn the differences, advantages, and disadvantages of both structures.
b) Stacks and Queues
Stacks and queues are fundamental data structures used to store and retrieve data in a specific order. A Data Structure Course will cover the LIFO (Last In, First Out) principle for stacks and FIFO (First In, First Out) for queues, explaining their use in various algorithms and applications like web browsers and task scheduling.
c) Trees and Graphs
Trees and graphs are hierarchical structures used in organizing data. A Data Structure Course teaches how trees, such as binary trees, binary search trees (BST), and AVL trees, are used in organizing hierarchical data. Graphs are important for representing relationships between entities, such as in social networks, and are used in algorithms like Dijkstra's and BFS/DFS.
d) Hashing
Hashing is a technique used to convert a given key into an index in an array. A Data Structure Course will cover hash tables, hash maps, and collision resolution techniques, which are crucial for fast data retrieval and manipulation.
e) Sorting and Searching Algorithms
Sorting and searching are essential operations for working with data. A Data Structure Course provides a detailed study of algorithms like quicksort, merge sort, and binary search. Understanding these algorithms and how they interact with data structures can help you optimize solutions to various problems.
4. Practical Benefits of Enrolling in a Data Structure Course
a) Hands-on Experience
A Data Structure Course typically includes plenty of coding exercises, allowing students to implement data structures and algorithms from scratch. This hands-on experience is invaluable when applying concepts to real-world problems.
b) Critical Thinking and Efficiency
Data structures are all about optimizing efficiency. By learning the most effective ways to store and manipulate data, students improve their critical thinking skills, which are essential in programming. Selecting the right data structure for a problem can drastically reduce time and space complexity.
c) Better Understanding of Memory Management
Understanding how data is stored and accessed in memory is crucial for writing efficient code. A Data Structure Course will help you gain insights into memory management, pointers, and references, which are important concepts, especially in languages like C and C++.
5. Best Programming Languages for Data Structure Courses
While many programming languages can be used to teach data structures, some are particularly well-suited due to their memory management capabilities and ease of implementation. Some popular programming languages used in Data Structure Courses include:
C++: Offers low-level memory management and is perfect for teaching data structures.
Java: Widely used for teaching object-oriented principles and offers a rich set of libraries for implementing data structures.
Python: Known for its simplicity and ease of use, Python is great for beginners, though it may not offer the same level of control over memory as C++.
6. How to Choose the Right Data Structure Course?
Selecting the right Data Structure Course depends on several factors such as your learning goals, background, and preferred learning style. Consider the following when choosing:
a) Course Content and Curriculum
Make sure the course covers the topics you are interested in and aligns with your learning objectives. A comprehensive Data Structure Course should provide a balance between theory and practical coding exercises.
b) Instructor Expertise
Look for courses taught by experienced instructors who have a solid background in computer science and software development.
c) Course Reviews and Ratings
Reviews and ratings from other students can provide valuable insights into the course’s quality and how well it prepares you for real-world applications.
7. Conclusion: Unlock Your Coding Potential with a Data Structure Course
In conclusion, a Data Structure Course is an essential investment for anyone serious about pursuing a career in software development or computer science. It equips you with the tools and skills to optimize your code, solve problems more efficiently, and excel in technical interviews. Whether you're a beginner or looking to strengthen your existing knowledge, a well-structured course can help you unlock your full coding potential.
By mastering data structures, you are not only preparing for interviews but also becoming a better programmer who can tackle complex challenges with ease.
3 notes · View notes